package com.wlyuan.open.dto.top;

import com.wlyuan.open.OpenBaseSyncDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author lijing
 * @description
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class OpenTopExtensionOrderSyncDTO extends OpenBaseSyncDTO implements Serializable {


    private static final long serialVersionUID = -7782036940222106341L;
    private Long orderInfoId;
    @ApiModelProperty("订单编号")
    private String orderNo;
    @ApiModelProperty("合同编号")
    private String contractNo;
    @ApiModelProperty("物流源订单id")
    private Long orderId;
    @ApiModelProperty("单据种类")
    private String orderCategory;
    @ApiModelProperty("订单类型")
    private String orderTypeName;
    @ApiModelProperty("订单类型编号")
    private String orderTypeCode;
    @ApiModelProperty("发货工厂")
    private String fromFactory;
    @ApiModelProperty("收货工厂")
    private String toFactory;
    @ApiModelProperty("发货仓库")
    private String fromHouse;
    @ApiModelProperty("收货仓库")
    private String toHouse;
    @ApiModelProperty("提货地简称")
    private String fromShortName;
    @ApiModelProperty("送货地简称")
    private String deliverShortName;
    @ApiModelProperty("提货供应商编码")
    private String pickCode;
    @ApiModelProperty("提货供应商名称")
    private String pickShortName;
    @ApiModelProperty("送达方编码")
    private String arriveCode;
    @ApiModelProperty("送达方名称")
    private String arriveName;
    @ApiModelProperty("提货地编码")
    private String pickAddrCode;
    @ApiModelProperty("送货地编码")
    private String deliverAddrCode;
    @ApiModelProperty("战区编码")
    private String zoneCode;
    @ApiModelProperty("战区名称")
    private String zoneName;
    @ApiModelProperty("脱普客户编码")
    private String customerCode;
    @ApiModelProperty("脱普客户名称")
    private String customerName;
    @ApiModelProperty("分公司仓库编码")
    private String branchFactoryCode;
    @ApiModelProperty("分公司仓库名称")
    private String branchFactoryName;
    @ApiModelProperty("调拨单号")
    private String allotNumber;
    @ApiModelProperty("开单日期")
    private String date;
    @ApiModelProperty("商业折扣")
    private BigDecimal discount;
    @ApiModelProperty("交货单号(本单编号)")
    private String deliverOrderNo;
    @ApiModelProperty("物流简称")
    private String physical;
    @ApiModelProperty("原始单据")
    private String originNumber;
    @ApiModelProperty("主单号")
    private String mainContractNo;
    @ApiModelProperty("运输模式")
    private Integer transportMode;
    @ApiModelProperty("批次号")
    private String batchNo;
    @ApiModelProperty("是否关闭 0 否 1 是")
    private Integer off;
    @ApiModelProperty("是否合单 0 否 1 是")
    private Integer combine;
    @ApiModelProperty("车数")
    private Integer vehicleCount;
    @ApiModelProperty("载重")
    private String vehicleLoad;

    private List<ExtensionGoodsDTO> goodsList;

    @ApiModelProperty("租户id")
    private Long tenantId;
    @ApiModelProperty("创建时间")
    private LocalDateTime createAt;
    @ApiModelProperty("更新时间")
    private LocalDateTime updateAt;
    @ApiModelProperty("创建人")
    private Long createBy;
    @ApiModelProperty("更新人")
    private Long updateBy;

    private Long customerId;
    @ApiModelProperty("客户名称")
    private String cName;
    @ApiModelProperty("客户类型")
    private Integer customerType;
    @ApiModelProperty("客户租户")
    private Long customerTenantId;
    private Long createMan;

    @ApiModelProperty(value = "发货联系人")
    private String contactName;
    @ApiModelProperty(value = "发货联系电话")
    private String contactMobile;
}
